import { defineStore } from 'pinia'
import { ref } from 'vue'

// 定义一个名为 useTodoStore 的 store
export const useTodoStore = defineStore('todo', () => {
  // todos 是一个响应式数组，存储所有待办事项
  const todos = ref([
    // 示例数据
    { id: 1, text: '学习 Vue3', done: false },
    { id: 2, text: '写一个 Todo List', done: false }
  ])

  // 添加待办事项
  function addTodo(text) {
    todos.value.push({
      id: Date.now(), // 用时间戳作为唯一 id
      text,
      done: false
    })
  }

  // 删除待办事项
  function removeTodo(id) {
    todos.value = todos.value.filter(todo => todo.id !== id)
  }

  // 切换完成状态
  function toggleTodo(id) {
    const todo = todos.value.find(todo => todo.id === id)
    if (todo) {
      todo.done = !todo.done
    }
  }

  // 导出 state 和方法
  return { todos, addTodo, removeTodo, toggleTodo }
}) 